home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 21 / emacsrc / keymap.c < prev    next >
Encoding:
C/C++ Source or Header  |  1986-05-14  |  7.0 KB  |  215 lines

  1. /*
  2.     keymap.c            pm 1/13/86
  3.  
  4.     scan code to ascii keymap for use in microEmacs on ST520
  5.  
  6. */
  7.  
  8. #include "keynames.h"
  9.  
  10. static
  11. char    unsh[128] = {
  12.     /* -------scan codes: 0x00-0x0f ---------------------------- */
  13.     '\000' /*nul*/, '\033' /*esc*/,     
  14.     '\061' /*1*/, '\062' /*2*/, '\063' /*3*/,
  15.     '\064' /*4*/, '\065' /*5*/, '\066' /*6*/, '\067' /*7*/,
  16.     '\070' /*8*/, '\071' /*9*/, '\060' /*0*/, 
  17.     '\055' /*-*/, '\075' /*=*/,
  18.     '\010' /* bs*/, '\011' /* ht*/, 
  19.  
  20.     /* ------------------ 0x10-0x1f ---------------------------- */
  21.     '\161' /*q*/, '\167' /*w*/, '\145' /*e*/, '\162' /*r*/,
  22.     '\164' /*t*/, '\171' /*y*/, '\165' /*u*/, '\151' /*i*/,
  23.     '\157' /*o*/, '\160' /*p*/,
  24.     '\133' /*[*/, '\135' /*]*/, 
  25.     '\015' /* cr*/, '\000' /*ctrl*/,
  26.     '\141' /*a*/, '\163' /*s*/, 
  27.  
  28.     /* ------------------ 0x20-0x2f ---------------------------- */
  29.     '\144' /*d*/, '\146' /*f*/, '\147' /*g*/, '\150' /*h*/,
  30.     '\152' /*j*/, '\153' /*k*/, '\154' /*l*/,
  31.     '\073' /*;*/, '\047' /*'*/, '\140' /*`*/,
  32.     '\000' /*lshift*/,
  33.     '\134' /*\*/,
  34.     '\172' /*z*/, '\170' /*x*/, '\143' /*c*/,  '\166' /*v*/,
  35.  
  36.     /* ------------------ 0x30-0x3f ---------------------------- */
  37.     '\142' /*b*/, '\156' /*n*/, '\155' /*m*/,
  38.     '\054' /*,*/, '\056' /*.*/, '\057' /* / */,
  39.     '\000' /*rshift*/, '\000' /*unused*/, '\000' /*alt*/,
  40.     '\040' /*space*/,
  41.     '\000' /*caps lock*/,
  42.     F1, F2, F3, F4, F5,
  43.  
  44.  
  45.     /* ------------------ 0x40-0x4f ---------------------------- */
  46.     F6, F7, F8, F9, F10,
  47.     '\000' /*unused*/, '\000' /*unused*/,
  48.     HOME,    UPARRO,    '\000' /*unused*/,
  49.     KMINUS,    LTARRO,    '\000' /*unused*/,
  50.     RTARRO,    KPLUS,    '\000' /*unused*/,
  51.  
  52.     /* ------------------ 0x50-0x5f ---------------------------- */
  53.     DNARRO,    '\000' /*unused*/,    INSERT,    '\177' /*del*/,
  54.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  55.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  56.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  57.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  58.  
  59.     /* ------------------ 0x60-0x6f ---------------------------- */
  60.     '\000' /*ISO key*/,
  61.     UNDO,    HELP,    KLP,    KRP,    KSLASH,    KSTAR,
  62.     K7,    K8,    K9,    K4,    K5,    K6,
  63.     K1,    K2,    K3,
  64.  
  65.     /* ------------------ 0x70-0x72 ---------------------------- */
  66.     K0,    KDOT,    KENTER,
  67.  
  68.     /* ------------------ 0x73-0x7f  undefined ----------------- */
  69.  
  70. };
  71.  
  72.  
  73. static
  74. char    shif[128] = {
  75.     /* ------------------ 0x00-0x0f ---------------------------- */
  76.     '\000' /*nul*/, '\033' /*esc*/,     
  77.     '\041' /*!*/, '\100' /*@*/,  '\043' /*#*/, '\044' /*$*/,
  78.     '\045' /*%*/, '\136' /*^*/, '\046' /*&*/, '\052' /***/,
  79.     '\050' /*(*/, '\051' /*)*/, '\137' /*_*/, '\053' /*+*/,
  80.     '\010' /* bs*/, '\011' /* ht*/, 
  81.  
  82.     /* ------------------ 0x10-0x1f ---------------------------- */
  83.     '\121' /*Q*/, '\127' /*W*/, '\105' /*E*/, '\122' /*R*/,
  84.     '\124' /*T*/, '\131' /*Y*/, '\125' /*U*/, '\111' /*I*/,
  85.     '\117' /*O*/, '\120' /*P*/,
  86.     '\173' /*{*/, '\175' /*}*/, 
  87.     '\015' /* cr*/, '\000' /*ctrl*/,
  88.     '\101' /*A*/, '\123' /*S*/, 
  89.  
  90.     /* ------------------ 0x20-0x2f ---------------------------- */
  91.     '\104' /*D*/, '\106' /*F*/, '\107' /*G*/, '\110' /*H*/,
  92.     '\112' /*J*/, '\113' /*K*/, '\114' /*L*/,
  93.     '\072' /*:*/, '\042' /*"*/, '\176' /*~*/,
  94.     '\000' /*lshift*/,
  95.     '\174' /*|*/,
  96.     '\132' /*Z*/, '\130' /*X*/, '\103' /*C*/,  '\126' /*V*/,
  97.  
  98.     /* ------------------ 0x30-0x3f ---------------------------- */
  99.     '\102' /*B*/, '\116' /*N*/, '\115' /*M*/,
  100.     '\074' /*<*/, '\076' /*.*/, '\077' /* ? */,
  101.     '\000' /*rshift*/, '\000' /*unused*/, '\000' /*alt*/,
  102.     '\040' /*space*/,
  103.     '\000' /*caps lock*/,
  104.     F1+SHIFTED, F2+SHIFTED, F3+SHIFTED, F4+SHIFTED, F5+SHIFTED,
  105.  
  106.  
  107.     /* ------------------ 0x40-0x4f ---------------------------- */
  108.     F6+SHIFTED, F7+SHIFTED, F8+SHIFTED, F9+SHIFTED, F10+SHIFTED,
  109.     '\000' /*unused*/, '\000' /*unused*/,
  110.     HOME+SHIFTED,    UPARRO+SHIFTED,    '\000' /*unused*/,
  111.     KMINUS+SHIFTED,LTARRO+SHIFTED,    '\000' /*unused*/,
  112.     RTARRO+SHIFTED,KPLUS+SHIFTED,    '\000' /*unused*/,
  113.  
  114.     /* ------------------ 0x50-0x5f ---------------------------- */
  115.     DNARRO+SHIFTED,    '\000' /*unused*/,
  116.     INSERT+SHIFTED,    '\177' /*del*/,
  117.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  118.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  119.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  120.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  121.  
  122.     /* ------------------ 0x60-0x6f ---------------------------- */
  123.     '\000' /*ISO key*/,
  124.     UNDO+SHIFTED,    HELP+SHIFTED,    KLP+SHIFTED,
  125.     KRP+SHIFTED,    KSLASH+SHIFTED,KSTAR+SHIFTED,
  126.     K7+SHIFTED,    K8+SHIFTED,    K9+SHIFTED,
  127.     K4+SHIFTED,    K5+SHIFTED,    K6+SHIFTED,
  128.     K1+SHIFTED,    K2+SHIFTED,    K3+SHIFTED,
  129.  
  130.     /* ------------------ 0x70-0x72 ---------------------------- */
  131.     K0+SHIFTED,    KDOT+SHIFTED,    KENTER+SHIFTED,
  132.  
  133.     /* ------------------ 0x73-0x7f  undefined ----------------- */
  134.  
  135. };
  136.  
  137. static
  138. char    caps[128] = {
  139.     /* ------------------ 0x00-0x0f ---------------------------- */
  140.     '\000' /*nul*/, '\033' /*esc*/,     
  141.     '\061' /*1*/, '\062' /*2*/, '\063' /*3*/,
  142.     '\064' /*4*/, '\065' /*5*/, '\066' /*6*/, '\067' /*7*/,
  143.     '\070' /*8*/, '\071' /*9*/, '\060' /*0*/, 
  144.     '\055' /*-*/, '\075' /*=*/,
  145.     '\010' /* bs*/, '\011' /* ht*/, 
  146.  
  147.     /* ------------------ 0x10-0x1f ---------------------------- */
  148.     '\121' /*Q*/, '\127' /*W*/, '\105' /*E*/, '\122' /*R*/,
  149.     '\124' /*T*/, '\131' /*Y*/, '\125' /*U*/, '\111' /*I*/,
  150.     '\117' /*O*/, '\120' /*P*/,
  151.     '\133' /*[*/, '\135' /*]*/, 
  152.     '\015' /* cr*/, '\000' /*ctrl*/,
  153.     '\101' /*A*/, '\123' /*S*/, 
  154.  
  155.     /* ------------------ 0x20-0x2f ---------------------------- */
  156.     '\104' /*D*/, '\106' /*F*/, '\107' /*G*/, '\110' /*H*/,
  157.     '\112' /*J*/, '\113' /*K*/, '\114' /*L*/,
  158.     '\073' /*;*/, '\047' /*'*/, '\140' /*`*/,
  159.     '\000' /*lshift*/,
  160.     '\134' /*\*/,
  161.     '\132' /*Z*/, '\130' /*X*/, '\103' /*C*/,  '\126' /*V*/,
  162.  
  163.     /* ------------------ 0x30-0x3f ---------------------------- */
  164.     '\102' /*B*/, '\116' /*N*/, '\115' /*M*/,
  165.     '\054' /*,*/, '\056' /*.*/, '\057' /* / */,
  166.     '\000' /*rshift*/, '\000' /*unused*/, '\000' /*alt*/,
  167.     '\040' /*space*/,
  168.     '\000' /*caps lock*/,
  169.     F1, F2, F3, F4, F5,
  170.  
  171.  
  172.     /* ------------------ 0x40-0x4f ---------------------------- */
  173.     F6, F7, F8, F9, F10,
  174.     '\000' /*unused*/, '\000' /*unused*/,
  175.     HOME,    UPARRO,    '\000' /*unused*/,
  176.     KMINUS,    LTARRO,    '\000' /*unused*/,
  177.     RTARRO,    KPLUS,    '\000' /*unused*/,
  178.  
  179.     /* ------------------ 0x50-0x5f ---------------------------- */
  180.     DNARRO,    '\000' /*unused*/,    INSERT,    '\177' /*del*/,
  181.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  182.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  183.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  184.     '\000' /*unused*/,'\000' /*unused*/,'\000' /*unused*/,
  185.  
  186.     /* ------------------ 0x60-0x6f ---------------------------- */
  187.     '\000' /*ISO key*/,
  188.     UNDO,    HELP,    KLP,    KRP,    KSLASH,    KSTAR,
  189.     K7,    K8,    K9,    K4,    K5,    K6,
  190.     K1,    K2,    K3,
  191.  
  192.     /* ------------------ 0x70-0x72 ---------------------------- */
  193.     K0,    KDOT,    KENTER,
  194.  
  195.     /* ------------------ 0x73-0x7f  undefined ----------------- */
  196.  
  197. };
  198.  
  199. #include "osbind.h"
  200.  
  201. keysetup()
  202. {
  203.     Keytbl(unsh, shif, caps);
  204.     /* The ptr this returns appears to be useless    */
  205.     /* It should return the ptrs to old tables    */
  206. }
  207.  
  208.  
  209. keyreset()            /* should reset to the table we had    */
  210. {                /* prior to entering uE            */
  211.     Bioskeys();
  212. }
  213.  
  214. /* -eof- */
  215.